1989-Club80-26 S.37

Bessere Darstellung von Text und Grafik mit HRG1B

Helmut Bernhardt

Durch das Erzeugen synchroner Videosignale des normalen Text- Video-Interface und der HRG1B konnten diese beiden Signale gemischt werden, so daß beide Bildschirm-Informationen gleichzeitig dargestellt werden. Das ist einerseits ärgerlich, wenn z.B. BASICs READY> ständig nach der Erzeugung eines Bildes das Werk verunziert; es kann andererseits aber auch recht nützlich sein, wenn man zu Diagrammen erläuternde Texte anzeigen möchte. Weniger gelungen ist aber die Art, wie die Video-Signale gemischt werden. Das wird auf der HRG1B durch OR-Verknüpfung der beiden Signale gemacht, was zur Folge hat, daß in hellen Flächen der HRG-Anzeige kein Text zu erkennen ist. Die OR-Verknüpfung bewirkt, daß ein Bildpunkt immer hell gesteuert wird, wenn entweder der entsprechende Punkt in der HRG oder der entsprechende Punkt eines dargestellten Textzeichens oder beide angezeigt werden.

Eine XOR-Verknüpfung der beiden Video-Signale steuert einen Punkt nur dann hell, wenn entweder der HRG-Punkt oder der Punkt eines Textzeichens angezeigt wird. Wenn allerdings beide Videosignale gleichzeitig einen Bildpunkt hell darstellen wollen, wird dieser Punkt dunkel gesteuert. Das hat zur Folge, daß Texte vor hellem HRG-Hintergrund dunkel dargestellt werden. Selbst wenn ein Textzeichen zum Teil vor einem hellen und zum Teil vor einem dunklen Hintergrund dargestellt wird, läßt es sich vollständig erkennen, weil sein Farbwert immer das Gegenteil der Hintergrundfläche ist.

Damit können nicht nur Text und HRG sehr viel besser gleichzeitig dargestellt werden; der Umstand läßt sich bei geschickter Programmierung der HRG auch dazu nutzen, inverse Zeichen darzustellen. Es müssen einfach immer die entsprechenden Felder, in denen im Text-Bildschirm ein Zeichen dargestellt wird, in der HRG hell gesteuert werden. Das bedeutet, daß pro auszugebendem Textzeichen auch 12 Bytes im HRG-Speicher auf FFH zu setzen sind. Die Zuordnung von Text-Video-RAM zu HRG-Adressen läßt sich in früheren Beiträgen von Arnulf Sopp zu diesem Thema entnehmen. Etwas aufwendiger wird es beim Scrollen von Texten, wenn Teilbereiche des Textes invers dargestellt sind. Dann reicht es nicht, nur den ganzen Text-Bildwiederholspeicher um 64 Bytes nach oben zu verschieben, dann müssen auch die hellen Felder der HRG um einen entsprechenden Offset verschoben werden, was nicht mehr mit einem einfachen LDIR zu erledigen ist.

So aufwendig das in Soft auch sein mag, in Hard ist die Änderung auf XOR-Verknüpfung recht banal. Die bisherige OR-Verknüpfung sieht so aus:

Wenn anstelle des OR-Gatters 74LS32 ein XOR-Gatter des pinkompatiblen 74LS86 genommen wird, ist die Sache erledigt. Leider werden von dem 74LS32 noch andere OR-Gatter für andere Zwecke verwendet, so daß man nicht einfach das IC gegen ein 74LS86 auswechseln kann. Man kann aber das 74LS86 mit den Pins 4, 5, 7, 14 huckepack auf das 74LS32 löten, den Pin6 des 74LS32 abkneifen und stattdessen den Pin6 des 74LS86 mit dem Pin15 des Sockels für den Anschluß des 24poligen Flachkabels verbinden.